地图系统库设置 Sample详情

最后更新时间:2020年12月8日

MapGIS Mobile平台中离线矢量地图显示的样式是依赖于系统库的,有了系统库,才能为地图的显示配置相应的颜色、符号、字体等等,在移动端离线矢量地图才能显示无误;如果没有系统库,地图将呈现为全黑状态。

移动与桌面端使用统一的数据库与文件库。其中,系统库包括Clib文件夹(字体库)Slib文件夹(符号库、颜色库)。系统库为地图提供字体、符号、颜色资源,决定了地图显示的样式,地图中的要素才能显示成多种多样。可以配置不同的系统库来实现地图的不同配图效果。

移动端离线矢量地图显示时,会优先从此*.mapx地图文档文件的同级目录下读取系统库,如果没有找到,则读取环境初始化目录,如果此处也没有系统库,地图将会呈现黑色。当然,我们可以通过代码动态设置系统库的路径,就会优先从此路径读取。

具体请参考API:

通常在地图显示之前设置系统库,如有需要,也可在地图已显示之后再切换,不过要注意的是,此情况切换后要强制刷新,才能将地图显示效果变更。


import com.zondy.mapgis.geodatabase.config.EnvConfig;
import com.zondy.mapgis.geodatabase.config.MapGisEnv;
import com.zondy.mapgis.systemlib.SystemLibrarys;
import com.zondy.mapgis.map.view.mapview.MapView;
import com.zondy.mapgis.map.view.mapview.MapView.MapViewStopCurRequestCallback;

//地图显示之后切换系统库
mapView.stopCurRequest(new MapViewStopCurRequestCallback() {
    @Override
    public void onDidStopCurRequest() {
          String FilePath = android.os.Environment.getExternalStorageDirectory().getPath() + "/MapGISSample/AnotherSystemlib";
          //通过环境配置对象获取MapGIS系统环境
          MapGisEnv mapGisEnv = EnvConfig.getGisEnv();
          //设置系统库
          mapGisEnv.setSlib(FilePath);
          //设置系统目录信息
          EnvConfig.setGisEnv(mapGisEnv);
          //通过获得系统库方法实例化系统库对象
          SystemLibrarys systemLibrarys = SystemLibrarys.getSystemLibrarys();
          //重新打开符号库文件
          systemLibrarys.reOpen();
          //切换系统库之后必须强制刷新
          mapView.forceRefresh();
    }
});
系统库1.jpg 系统库2.jpg